package com.assignwork.entity;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springblade.core.mp.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * VoyageVisa
 */
@Data
@TableName("voyage_visa")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "VoyageVisa对象", description = "船舶签证")
public class VoyageVisa extends BaseEntity {

    /** 代理公司 */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "代理公司")
    private String agencyCo;
    
    /** 进出口 */
    @ApiModelProperty(value = "进出口")
    private String impExp;
    
    /** 货名 */
    @ApiModelProperty(value = "货名")
    private String cargoNameKey;
    
    /** 别名 */
    @ApiModelProperty(value = "别名")
    private String reCargoNameKey;
    
    /** 散杂 */
    @ApiModelProperty(value = "散杂")
    private String packageBulkKey;
    
    /** 总吨 */
    @ApiModelProperty(value = "总吨")
    private BigDecimal totalTon;
    
    /** 签证吨 */
    @ApiModelProperty(value = "签证吨")
    private BigDecimal visaTon;
    
    /** 备注 */
    @ApiModelProperty(value = "备注")
    private String remark;
    
    /** 航次ID */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "航次ID")
    private Long voyageId;


    @ApiModelProperty(value = "净吨")
    private BigDecimal netWeight;

    @ApiModelProperty(value = "载重吨")
    private BigDecimal deadWeightTon;

    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @ApiModelProperty("创建时间")
    private Date statTime;

    @ApiModelProperty("是否补录")
    private Integer isSupplement;
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @ApiModelProperty("完工时间")
    private Date endTime;
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @ApiModelProperty("开工时间")
    private Date beginTime;
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @ApiModelProperty("创建时间")
    private Date unberthingTime;
}